Baseline signal calculation

ABSTRACT

A baseline unit for use in a sensor system, the sensor system comprising N force sensors which output N sensor signals, respectively, where N≥2, the baseline unit configured to: monitor measures of gradients of the respective sensor signals; and, in dependence upon the measures of the gradients, control a stored baseline setting to control how a baseline signal for at least one of said sensor signals is calculated using a baseline-calculation method, the baseline-calculation method configured by the currently-stored baseline setting.

FIELD OF DISCLOSURE

The present disclosure relates in general to sensor systems whichcomprise force sensors, and in particular to baseline signal calculationin relation to sensor signals obtained from such force sensors.

A baseline unit may be provided for use in such a sensor system to carryout baseline signal calculation.

BACKGROUND

Force sensors and sensor systems having force sensors may be providedfor use with, or as part of, a host device. A host device having forcesensors may be referred to as a sensor system or force sensor system.

In this context, a host device may be considered an electrical orelectronic device and may be a mobile device. Example devices include aportable and/or battery powered host device such as a mobile telephoneor smartphone, an audio player, a video player, a PDA, a mobilecomputing platform such as a laptop computer or tablet and/or a gamesdevice.

In general, a force sensor is configured to output a sensor signalindicative of a temporary mechanical distortion of a material under anapplied force. The material may for example be a metal plate which ispart of, or associated with, the force sensor, and which ispushed/pressed or otherwise deformed by a user. In the context of a hostdevice, the material may be part of a chassis or external casing of thedevice. The force may for example be applied and subsequently reduced orremoved in a user press operation, referred to as a button press wherethe force sensor is used to implement a button, the user press operationstarting when the force is applied.

Force sensing may be carried out by a variety of different types offorce sensor. Example types of force sensor include capacitivedisplacement sensors, inductive force sensors, strain gauges,piezoelectric force sensors, force sensing resistors (resistive forcesensors), piezoresistive force sensors, thin film force sensors andquantum tunnelling composite-based force sensors. Force sensor systemsmay comprise a mixture of types of sensor/sensor technology.

Modern electronic devices are increasingly using “virtual button”technology to replace tradition push buttons. An example is the volumeor power button on the side of a smartphone. The traditional buttonshave contacts that can age and wear, and virtual buttons not only avoidthis problem, but can be made without introducing openings in thesmartphone chassis, thus increasing waterproofing and reducing generalexposure to dirt and grease.

To replace physical buttons, virtual buttons are implemented using anumber of force sensors in a force sensor system as described above. Inthe context of a smartphone, as a convenient running example of a hostdevice, a number of such sensors may be arranged on the inside of thechassis—e.g. on the inside left-side and/or right-side edges or on thefront or back of the device. The sensors are then responsive to physicalpressure applied to the chassis.

Generally, the objective is to define a certain region of the devicechassis as corresponding to a virtual button, and to use sensorinformation to determine when that region of the chassis has enoughapplied force to constitute an associated button press. Often multipleregions are defined corresponding respectively to multiple virtualbuttons.

Force sensors deployed in modern host devices produce signals that havea slowly varying baseline level that is modulated by physical events(e.g. changes in ambient temperature or pressure) that need to bedetected. An example application is a button press sensor implemented byway of a force sensor.

A baseline level may be taken to mean a level (e.g. bias level) at whicha corresponding sensor signal is taken to indicate a zero magnitude orzero input. In the case of a force sensor, a baseline level may be takento mean a level at which a corresponding sensor signal is taken toindicate zero applied force. A baseline signal may be taken to mean asignal which indicates baseline level. Ultimately, force information maybe determined from a given sensor signal based on a difference betweenthat sensor signal and its corresponding baseline signal.

It has been found that existing techniques for determining a baselinesignal corresponding to a sensor signal are unsatisfactory or open toimprovement. It is desirable to provide an improved technique fordetermining baseline level, and for example a corresponding baselineunit configured to carry out baseline signal calculation.

SUMMARY

According to a first aspect of the present disclosure, there is provideda baseline unit for use in a sensor system, the sensor system comprisingN force sensors which output N sensor signals, respectively, where N≥2,the baseline unit configured to: monitor measures of gradients of therespective sensor signals; and, in dependence upon the measures of thegradients, control a stored baseline setting to control how a baselinesignal for at least one of said sensor signals is calculated using abaseline-calculation method, the baseline-calculation method configuredby the currently-stored baseline setting.

In this way, how a baseline signal is calculated may be controlled basedon the ‘measures of the gradients’ (or, more simply, gradients) of therespective sensor signals, which enables advantage to be taken ofinformation carried by such measures of the gradients. For example, whenthe ambient temperature changes significantly (e.g. in a temperatureshock), the measures of the gradients may all be positive or all benegative, or indicate that the gradients are all positive or allnegative, and this can be detected to detect the significant temperaturechange and adjust how the baseline signal is calculated. References to“measures of gradients” may be taken as references to “gradients”, insome arrangements. A gradient may be a rate of change.

The baseline unit may be configured to access the stored baselinesetting, and calculate the baseline signal for the at least one of thesensor signals using the baseline-calculation method.

The baseline unit may be configured, for each force sensor, to:calculate a baseline signal from its sensor signal using thebaseline-calculation method; and/or generate a baseline-corrected signalby subtracting its baseline signal from its sensor signal. Such abaseline-corrected signal may be indicative of (e.g. proportional to) anapplied force.

The baseline unit may be configured to determine that a given event isunderway if it is determined that the measures of the gradients of thesensor signals are all positive or all negative, or indicate that thegradients are all positive or all negative. If it is determined that thegiven event is underway, the stored baseline setting may be set to avalue within a defined range corresponding to the given event.

The baseline unit may additionally, in order to determine that the givenevent is underway, determine that the measures of the gradients of thesensor signals are all above a threshold value, or indicate that thegradients are all above a threshold value (for example, by consideringabsolute values rather than signed values). The baseline unit mayadditionally, in order to determine that the given event is underway,determine that magnitudes of the sensor signals are all above athreshold value (for example, by considering absolute values rather thansigned values).

The given event may comprise a temperature shock or a substantial changein the ambient temperature. The given event may comprise a pressureshock or a substantial change in the ambient pressure.

The baseline unit may be configured, if it is determined that the givenevent is underway, to set the stored baseline setting to a valuedependent on a combination of some or all of the measures of thegradients, or on a combination of some or all of the gradients indicatedby the measures. The combination may comprise an average of some or allof the measures of the gradients or of some or all of the gradients,such as a mean, median or mode. The combination may comprise a sum ofsome or all of the measures of the gradients or of some or all of thegradients, such as a weighted sum. The combination may comprise anabsolute average of some or all of the measures of the gradients or ofsome or all of the gradients, such as an absolute mean, median or mode.The combination may comprise an absolute sum of some or all of themeasures of the gradients or of some or all of the gradients, such as anabsolute weighted sum.

The baseline unit may be configured, if it is determined that the givenevent is underway, to set the stored baseline setting based on a definedrelationship such as a monotonic relationship between values of thebaseline setting and values of the combination. The relationship may bea linear or stepped relationship.

The baseline unit may be configured, if it is determined that the givenevent is underway, to set the stored baseline setting to a differentvalue for different ranges of values of the combination. There may be amonotonic relationship between the ranges of values and thecorresponding values to which the baseline setting is set.

It may be that values of the baseline setting each comprise componentvalues per force sensor. In such a case, for each force sensor, itsbaseline signal may be calculated using the baseline-calculation methodas configured by its corresponding component value of thecurrently-stored baseline setting. The baseline unit may be configuredto control the component values of the baseline setting separately, suchas based on the respective measures of the gradients of thecorresponding sensor signals.

The baseline-calculation method may comprise low-pass filtering definedby a filter parameter. In that case, the baseline setting may define avalue of the filter parameter. The filter parameter may comprise a timeconstant, a filter coefficient, a forgetting factor and/or a cornerfrequency which defines the low-pass filtering, optionally a passband ofthe low-pass filtering. The control of the stored baseline setting independence upon the measures of the gradients may comprise controllingthe baseline setting to increase the size of a passband of the low-passfiltering.

It may be that N≥3, or N≥4, or N≥8. It may be that each sensor signal isindicative of an applied force. It may be that the force sensors of thesensor system are arranged to detect an applied force corresponding to apress of at least one virtual button. It may be that the baseline unitis configured to store the baseline setting.

The monitored measures of the gradients may be smoothed measures of thegradients obtained by smoothing corresponding instantaneous measures ofthe gradients of the respective sensor signals. The baseline unit may beconfigured to calculate the smoothed measures of the gradients from thecorresponding instantaneous measures of the gradients, optionally bylow-pass filtering.

According to a second aspect of the present disclosure, there isprovided a baseline unit for use in a sensor system, the sensor systemcomprising N force sensors which output N sensor signals, respectively,where N≥1, and a temperature sensor which outputs a temperature signalindicative of ambient temperature, the baseline unit configured to:monitor a measure of a gradient of the temperature signal; and independence upon the measure of the gradient, control a stored baselinesetting to control how a baseline signal for at least one of said sensorsignals is calculated using a baseline-calculation method, thebaseline-calculation method configured by the currently-stored baselinesetting.

The sensor system may comprise a plurality of temperature sensors whichoutput a temperature signal indicative of ambient temperature. In thatcase, the baseline unit may be configured to monitor measures ofgradients of the temperature signals, and control the stored baselinesetting in dependence upon the measures of the gradients.

According to a third aspect of the present disclosure, there is provideda baseline unit for use in a sensor system, the sensor system comprisingN force sensors which output N sensor signals, respectively, thebaseline unit configured to: access a stored baseline setting; calculatea baseline signal for at least one of said sensor signals using abaseline-calculation method, the baseline-calculation method configuredby the currently-stored baseline setting; monitor measures of gradientsof the respective sensor signals; and in dependence upon the measures ofthe gradients, control the stored baseline setting to control how eachbaseline signal is calculated.

According to a fourth aspect of the present disclosure, there isprovided a baseline unit for use in a sensor system, the sensor systemcomprising N force sensors which output N sensor signals, respectively,where N≥2, the baseline unit configured to: monitor gradients of therespective sensor signals; and, in dependence upon the gradients,control a stored baseline setting to control how a baseline signal forat least one of said sensor signals is calculated using abaseline-calculation method, the baseline-calculation method configuredby the currently-stored baseline setting.

According to a fifth aspect of the present disclosure, there is provideda sensor system or a host device, comprising: a baseline unit accordingto any of the first to third aspects; and the N force sensors (where N≥1or N≥2).

Also envisaged are corresponding method aspects, computer programaspects and storage medium aspects. Features of one aspect may beapplied to another and vice versa.

BRIEF DESCRIPTION OF THE DRAWINGS

Reference will now be made, by way of example only, to the accompanyingdrawings, of which:

FIG. 1 is a schematic diagram of a host device according to anembodiment;

FIG. 2 is a schematic diagram indicating how signals from force sensorsof the host device may be arranged and handled;

FIG. 3 shows a plot of example raw sensor signals and correspondingbaseline-corrected signals;

FIG. 4A is a schematic diagram of a baseline unit according to anembodiment;

FIG. 4B is a schematic diagram of another baseline unit according to anembodiment;

FIGS. 5A and 5B present methods useful for understanding functionalityof the baseline units of FIGS. 4A and 4B;

FIG. 6 shows an example method being an implementation of the method ofFIG. 5A; and

FIGS. 7 and 8 show plots of signals useful for understanding the methodsof FIGS. 5B and 6.

DETAILED DESCRIPTION

The description below sets forth example embodiments according to thisdisclosure. Further example embodiments and implementations will beapparent to those having ordinary skill in the art. Further, thosehaving ordinary skill in the art will recognize that various equivalenttechniques may be applied in lieu of, or in conjunction with, theembodiments discussed below, and all such equivalents should be deemedas being encompassed by the present disclosure.

FIG. 1 is a schematic diagram of a host device 100 according to anembodiment, for example a mobile or portable electrical or electronicdevice. Example host devices 100 include a portable and/or batterypowered host device such as a mobile telephone, a smartphone, an audioplayer, a video player, a PDA, a mobile computing platform such as alaptop computer or tablet and/or a games device.

As shown in FIG. 1, the host device 100 may comprise an enclosure 101, acontroller 110, a memory 120, N force sensors 130, where N≥2, and aninput and/or output unit (I/O unit) 140.

The enclosure 101 may comprise any suitable housing, casing, chassis orother enclosure for housing the various components of host device 100.Enclosure 101 may be constructed from plastic, metal, and/or any othersuitable materials. In addition, enclosure 101 may be adapted (e.g.,sized and shaped) such that host device 100 is readily transported by auser (i.e. a person).

Controller 110 may be housed within enclosure 101 and may include anysystem, device, or apparatus configured to control functionality of thehost device 100, including any or all of the memory 120, the forcesensors 130, and the I/O unit 140. Controller 110 may be implemented asdigital or analogue circuitry, in hardware or in software running on aprocessor, or in any combination of these.

Thus controller 110 may include any system, device, or apparatusconfigured to interpret and/or execute program instructions or codeand/or process data, and may include, without limitation a processor,microprocessor, microcontroller, digital signal processor (DSP),application specific integrated circuit (ASIC), FPGA (Field ProgrammableGate Array) or any other digital or analogue circuitry configured tointerpret and/or execute program instructions and/or process data. Thusthe code may comprise program code or microcode or, for example, codefor setting up or controlling an ASIC or FPGA. The code may alsocomprise code for dynamically configuring re-configurable apparatus suchas re-programmable logic gate arrays. Similarly, the code may comprisecode for a hardware description language such as Verilog TM or VHDL. Asthe skilled person will appreciate, the code may be distributed betweena plurality of coupled components in communication with one another.Where appropriate, such aspects may also be implemented using coderunning on a field-(re)programmable analogue array or similar device inorder to configure analogue hardware. Processor control code forexecution by the controller 110, may be provided on a non-volatilecarrier medium such as a disk, CD- or DVD-ROM, programmed memory such asread only memory (Firmware), or on a data carrier such as an optical orelectrical signal carrier. The controller 110 may be referred to ascontrol circuitry and may be provided as, or as part of, an integratedcircuit such as an IC chip.

Memory 120 may be housed within enclosure 101, may be communicativelycoupled to controller 110, and may include any system, device, orapparatus configured to retain program instructions and/or data for aperiod of time (e.g., computer-readable media). In some embodiments,controller 110 interprets and/or executes program instructions and/orprocesses data stored in memory 120 and/or other computer-readable mediaaccessible to controller 110.

The force sensors 130 are housed within the enclosure 101, and arecommunicatively coupled to the controller 110. Each force sensor 130 mayinclude any suitable system, device, or apparatus for sensing a force, apressure, or a touch (e.g., an interaction with a human finger) and forgenerating an electrical or electronic signal in response to such force,pressure, or touch. Example force sensors 130 include or comprisecapacitive displacement sensors, inductive force sensors, strain gauges,piezoelectric force sensors, force sensing resistors, piezoresistiveforce sensors, thin film force sensors and quantum tunnellingcomposite-based force sensors. There may be a mixture of types of forcesensor amongst force sensors 130.

In some arrangements, the electrical or electronic signal generated by aforce sensor 130 may be a function of a magnitude of the force,pressure, or touch applied to the force sensor (a user force input) viathe enclosure 101. Such electronic or electrical signal may comprise ageneral purpose input/output signal (GPIO) associated with an inputsignal in response to which the controller 100 controls somefunctionality of the host device 100. The term “force” as used hereinmay refer not only to force, but to physical quantities indicative offorce or analogous to force such as, but not limited to, pressure andtouch.

The I/O unit 140 may be housed within enclosure 101, may be distributedacross the host device 100 (i.e. it may represent a plurality of units)and may be communicatively coupled to the controller 110. Although notspecifically shown in FIG. 1, the I/O unit 140 may comprise any or allof a microphone, an LRA (or other device capable of outputting a force,such as a vibration), a radio (or other electromagnetic)transmitter/receiver, a speaker, a display screen (optionally atouchscreen), an indicator (such as an LED), a sensor (e.g.accelerometer, temperature sensor, gyroscope, camera, tilt sensor,electronic compass, etc.) and one or more buttons or keys.

As a convenient example to keep in mind, the host device 100 may be ahaptic-enabled device. As is well known, haptic technology recreates thesense of touch by applying forces, vibrations, or motions to a user. Thehost device 100 for example may be considered a haptic-enabled device (adevice enabled with haptic technology) where its force sensors 130(input transducers) measure forces exerted by the user on a userinterface (such as a button or touchscreen on a mobile telephone ortablet computer), and an LRA or other output transducer of the I/O unit140 applies forces directly or indirectly (e.g. via a touchscreen) tothe user, e.g. to give haptic feedback. Some aspects of the presentdisclosure, for example the controller 110 and/or the force sensors 130,may be arranged as part of a haptic circuit, for instance a hapticcircuit which may be provided in the host device 100. A circuit orcircuitry embodying aspects of the present disclosure (such as thecontroller 110) may be implemented (at least in part) as an integratedcircuit (IC), for example on an IC chip. One or more input or outputtransducers (such as the force sensors 130 or an LRA) may be connectedto the integrated circuit in use.

Of course, this application to haptic technology is just one exampleapplication of the host device 100 comprising the plurality of forcesensors 130. The force sensors 130 may simply serve as generic inputtransducers to provide input signals to control other aspects of thehost device 100, such as a GUI (graphical user interface) displayed on atouchscreen of the I/O unit 140 or an operational state of the hostdevice 100 (such as waking components from a low-power “sleep” state).

The host device 100 is shown comprising N force sensors 130, labelled S1to SN, with their signals labelled s1 to sN, respectively. Although foursensors are shown explicitly, it will be understood that this is just aconvenient example. It will be understood that the host device 100generally need only comprise a plurality of (i.e. at least two) forcesensors 130 (i.e. N=2) in connection with the techniques describedherein, although N≥3 (e.g. N=4) may be considered advantageous in somearrangements. An example considering N=7 will be followed herein,however it will be recalled that in some cases it may be that N=2.

Although FIG. 1 is schematic, it will be understood that the sensors S1to SN are located so that they can receive force inputs from a user, inparticular a user hand or finger, during use of the host device 100. Aparticular user force input of interest in this context corresponds to auser touching, pushing, or pressing a virtual button, or swiping thedevice corresponding to time-staggered virtual button presses. A changein the amount of force applied may be detected, rather than an absoluteamount of force detected, for example.

Thus, the force sensors S1 to SN may be located on the host device 100according to anthropometric measurements of a human hand (e.g. so that asingle human hand will be able to apply a force to multiple forcesensors 130 in some cases). For example, the force sensors S1 to SN maybe provided on the same side of the host device 100. Merely as a runningexample, it will be understood that the force sensors S1 to SN areprovided in a linear array 150 as indicated in FIG. 1. It will beunderstood that, where N≥2, the force sensors 130 may be provided atdifferent locations on the device, but may be in close proximity to oneanother.

FIG. 2 is a schematic diagram indicating how the signals from the forcesensors S1 to SN may be arranged and handled.

Depending on how the force sensors 130 are configured, the force sensorsS1 to SN may provide analogue signals s1(t) to sN(t), respectively,where t is time e.g. in seconds. These analogue signals may then beconverted by analogue-to-digital conversion, ADC, at a given (e.g.controllable) sample rate to corresponding digital sample streams s1(n)to sN(n), where n is the sample number. The combination of the digitalsample streams s1(n) to sN(n) may be taken to form a stream of sensorsamples SS(n) as indicated.

Of course, the force sensors S1 to SN may output respective digitalsample streams s1(n) to sN(n) directly. The digital sample streams willbe referred to hereinafter as signals for simplicity. It will beappreciated that the techniques described herein may be applied to suchanalogue or digital signals.

To better appreciate problems that the techniques disclosed herein mayaddress, FIG. 3 shows a plot of raw sensor signals s1(n) to s7(n) (i.e.without a baseline signal subtracted therefrom) from an example hostdevice 100 where N=7, i.e. where the sensors 130 comprise sensors S1 toS7. Here, the signals s1(n) to s7(n) are plotted against time inseconds. It will be appreciated that corresponding analogue sensorsignals s1(t) to s7(t) could be plotted, with the plots lookingsubstantially the same (albeit with the y-axis showing analogue values).

Also shown are corresponding baseline-corrected signals, denotedBC-s1(n) to BC-s7(n), respectively. In each case, a correspondingbaseline signal has been subtracted from the sensor signal concerned togenerate the baseline-corrected signal concerned. The baseline signalswill be referred to here as B-s1(n) to B-s7(n), respectively.

Taking sensor S1 as an example, it may therefore be said that:

BC-s1(n)=s1(n)−B-s1(n)

The baseline-corrected signals, BC-s1(n) to BC-s7(n), are shown in FIG.3 as force signals, in Newtons, having been additionally converted(effectively scaled) into such force signals. It is appreciated thatthose signals could also be shown without such conversion.

It is assumed here that the baseline signals are generated by low-passfiltering their respective sensor signals, as an approximation of thebiases (zero levels) of those sensor signals. It will also be assumed asa running example that the baseline signals are generated using abaseline tracking equation of the following form:

baseline(n)=λ·baseline(n−1)+(1−λ)·x(n)

where n is the sample number, baseline(n) is a given baseline signal(such as B-s1(n)), x(n) is the corresponding ‘raw’ sensor signal (suchas s1(n)), and A is a forgetting factor.

The forgetting factor λ effectively defines the low-pass filtering, forexample its cutoff or corner frequency and thus its passband. Theforgetting factor λ may be referred to as a filter coefficient. Theforgetting factor λ may be taken to have a nominal value chosen for agiven application to enable the baseline signal to track its sensorsignal sufficiently to indicate the ‘true’ baseline level (given thatthe sensor signal predominantly represents zero force input, i.e. when aforce is not being applied) but with sufficient high-frequency rejectionto prevent it following button presses.

The signals shown in FIG. 3 correspond to three consecutive presses ofdifferent virtual buttons defined relative to the force sensors S1 toS7, followed by two consecutive simultaneous presses of differentcombinations of such virtual buttons, as indicated. Following this, theambient temperature was markedly and rapidly changed (in a singledirection) to simulate a temperature shock. In the case shown thetemperature was increased, however this is just as an example.

Such a temperature shock could occur, for example, by taking the hostdevice 100 from outside during winter (e.g. −20° C.) to inside a heatedbuilding (e.g. 20° C.). Of course, a temperature shock would similarlyoccur (but in the opposite fashion) if the host device 100 were takenfrom inside a heated building (e.g. 20° C.) to outside during winter(e.g. −20° C.).

As can be seen in FIG. 3, upon the temperature shock, the sensor signalsand the baseline-corrected signals (as highlighted) both deflect fromtheir ‘at rest’ levels. This is undesirable given that in fact at thispoint in FIG. 3 there is no button press. Effectively, the biases (truebaseline levels) of the sensor signals are dramatically drifted in thepresence of fast temperature changes, whereas the baseline signalscalculated by low-pass filtering have not reflected this. This maycreate false positives, i.e. detection a button press even when none hasoccurred.

The inventors have explored this problem, and determined that the rateof change in the bias (true baseline level) is proportional to the rateof change of the temperature. In overview, arrangements disclosed hereinseek to modify how the baseline signals are calculated from their sensorsignals to avoid false positives. In the example of low-pass filteringprovided above, this may be by modifying the cut-off frequency(forgetting factor) of the low pass filter used to estimate the bias ofthe sensors according to the rate of the temperature change when atemperature shock is detected. The arrangements disclosed herein exploitthe inventors' discovery that in temperature shocks all the sensorssignals increase or decrease together, i.e. either all signals increaseor all signals decrease in value. When a temperature shock is detected,the forgetting factor λ may be decreased to increase the cut-offfrequency and enable the baseline signal to follow the sensor signalmore closely (i.e. follow higher-frequency signal changes).

With the above in mind, FIG. 4A is a schematic diagram of a baselineunit 200 according to an embodiment, and is shown as receiving digitalsensor signals s1(n) to sN(n), from corresponding force sensors S1 toSN. In the general case, N≥2 as above although it will be apparent fromFIG. 6A that N≥2 is also envisaged. The baseline unit 200 may beimplemented in the host device 100, for example as, or as part of, thecontroller 110, and is shown as outputting two sets of signals. In onearrangement the baseline unit 200 may be implemented as program coderunning on the controller 110.

The first set of signals comprises baseline signals B-s1(n) to B-sN(n),which correspond respectively to sensor signals s1(n) to sN(n). Eachbaseline signal, e.g. B-s1(n), corresponds to a baseline signal for agiven force sensor, in this case S1, and its sensor signal, in this cases1(n). Each baseline signal may therefore indicate the baseline levelfor its sensor. A stream of sensor samples SS(n) may thus give rise to acorresponding stream of baseline samples BS(n), as indicated.

The second set of signals comprises baseline-corrected signals BC-s1(n)to BC-sN(n), which correspond respectively to sensor signals s1(n) tosN(n). Each baseline-corrected signal, e.g. BC-s1(n), corresponds to abaseline-corrected signal for a given force sensor, in this case S1, andits sensor signal, in this case s1(n). Each baseline-corrected signalmay therefore be intended to indicate the “true” signal level (e.g.applied force) for its sensor. A stream of sensor samples SS(n) may thusgive rise to a corresponding stream of baseline-corrected samplesBCS(n), as indicated.

It will be appreciated that the baseline unit 200 need not generate boththe baseline streams and the baseline-corrected streams. For example,the baseline unit 200 might generate only the baseline streams, and passthose baseline streams onto another unit which also receives the samplestreams and generates the baseline-corrected streams. In anotherarrangement, the baseline unit might generate the baseline-correctedstreams directly and not output the baseline streams as such.

The baseline unit 200 is shown as comprising a baseline calculation unit300, which stores (or has access to) a baseline setting 400. In anotherarrangement, however, the baseline unit 200 may be replaced with abaseline unit 250 as in FIG. 4B provided without the baselinecalculation unit 300, and may be configured to output a control signalCNTRL which is used to update a baseline setting 400 which is stored by(or accessed by) a separate baseline calculation unit 300. In that case,the separate baseline calculation unit 300 might also receive the samplestreams and generate the baseline streams (shown in simplified form asBS(n)) and/or the baseline-corrected streams (shown in simplified formas BCS(n)).

Of course, even though N≥2, it may be that only one or more of thebaseline signals B-s1(n) to B-sN(n) and/or the baseline-correctedsignals BC-s1(n) to BC-sN(n) are generated, i.e. in respect of only oneor more of the sensors 130.

FIGS. 5A and 5B present methods 520 and 540, respectively, useful forunderstanding functionality of the baseline unit 200. Focus is placed onthe baseline unit 200 for simplicity, but it will be appreciated thatsome of the functionality is also provided by baseline unit 250.

As above, the baseline unit 200 may be configured to store (internallyor externally) a baseline setting 400.

Focussing first on method 520 of FIG. 5A, the baseline unit 200 isconfigured to (step S2) monitor gradients of the respective N sensorsignals. In dependence upon the gradients, the baseline unit 200 isconfigured to (step S4) control the stored baseline setting 400 tocontrol how a baseline signal for at least one of the sensor signals iscalculated using a baseline-calculation method, the baseline-calculationmethod configured by the currently-stored baseline setting 400.

References to “gradients” may be taken as references to “measures ofgradients”. For example, the gradient of a sensor signal may bemonitored or for example a difference between the sensor signal andanother signal (such as its baseline signal or a reference signal) maybe monitored as a measure of the gradient. For simplicity ofexplanation, focus will be placed hereinafter on monitoring gradientsthemselves however it will be understood that measures of gradients maybe monitored.

For example, taking the low-pass filtering example considered earlier,the baseline setting 400 may define the low-pass filtering. That is, thebaseline-calculation method may comprise low-pass filtering defined by afilter parameter, where the baseline setting 400 defines a value of thefilter parameter. The filter parameter may comprise a time constant, aforgetting factor and/or a corner frequency which defines the low-passfiltering, optionally a passband of the low-pass filtering.

As in FIG. 4A, the baseline unit 200 may store the baseline setting 400itself, however in other arrangements (see e.g. baseline unit 250) itmay access the baseline setting 400 from external storage.

Turning to method 540 of FIG. 5B, the baseline unit 200 is configured,for each force sensor, to (step S6) calculate a baseline signal (e.g.B-s1(n)) from its sensor signal using the baseline-calculation method(step S10), and/or generate a baseline-corrected signal (e.g. BC-s1(n))by subtracting its baseline signal (e.g. B-s1(n)) from its sensor signal(e.g. s1(n)). Method 540 may be carried out in respect to each forcesensor, or any one or more of them.

Thus, how a baseline signal or baseline-corrected signal is generated inmethod 540 is dependent on the baseline setting 400 which is controlledin method 520 dependent on the gradients of the sensor signals.Continuing the low-pass filtering example, it will be apparent thereforethat the cutoff frequency, corner frequency or passband of the low-passfiltering may be dependent on the gradients of the sensor signals.

Focussing on step S4 of method 520, the baseline unit 200 may beconfigured to determine that a given event is underway if it isdetermined that the gradients of the sensor signals are all positive orall negative.

The given event may be a temperature shock or other rapid andsubstantial change in ambient temperature (upwards or downwards),however it will be appreciated that other events (e.g. pressure shocks,potentially depending on how the host device is configured) may alsocause the gradients of the sensor signals to be all positive or allnegative.

If it is determined that the given event is underway, the baseline unit200 may set the stored baseline setting 400 to a value within a definedrange corresponding to the given event. Continuing the low-passfiltering example, it may be desirable to increase the cutoff frequency,corner frequency or size of the passband when it is determined that thegiven event is underway, so that the baseline signals will follow ortrack the sensor signals more closely (in the sense of followinghigher-frequency changes in the sensor signals). This may correspond todecreasing the forgetting factor λ in the baseline tracking equationdiscussed earlier and repeated here:

baseline(n)=λ·baseline(n−1)+(1−λ)·x(n)

The stored baseline setting 400 may be changed to a value dependent on acombination of some or all of the gradients, when it is determined thatthe given event is underway. For example, the stored baseline setting400 may be changed to a value dependent on an average (mean, median ormode) or sum (weighted, or unweighted) of the gradients, and may bebased on an absolute average or sum (so as to treat positive andnegative temperature excursions as equivalent).

In some arrangements, the baseline unit may set the stored baselinesetting 400 based on a defined relationship, such as a monotonicrelationship, between values of the baseline setting 400 and values ofthe combination (e.g. an absolute mean of the gradients). Therelationship may be a continuously varying one, or may be divided intodiscrete ranges. For example, if it is determined that the given eventis underway, the stored baseline setting 400 may be set to a differentvalue for different ranges of values of the combination (e.g. anabsolute mean of the gradients).

In this regard, an example application of the method 520 of FIG. 5A,will now be considered. Specifically, FIG. 6 shows an example method 600being an implementation of the method 520.

In order to implement the baseline setting 400 in method 600, theforgetting factor λ in the baseline tracking equation discussed earlieris implemented as follows:

λ=F _(BS)·λ_(NOM)

where λ is the overall forgetting factor as earlier, λ_(NOM) is anominal forgetting factor (assumed to be chosen for the particularapplication concerned) and F_(BS) is a baseline-setting factor, takenhere to be (or to be based on) the baseline setting 400.

Thus, the baseline tracking equation associated with FIG. 6 becomes:

baseline(n)=F _(BS)·λ_(NOM)·baseline(n−1)+(1−F _(BS)·λ_(NOM))·x(n)

Turning to FIG. 6 itself, in step S10 the gradients of the N sensorsignals are determined or calculated, which may be by computation. Themethod then proceeds to step S12.

If all of the gradients are positive (S12, YES), the method proceeds tostep S16. Otherwise (S12, NO), the method proceeds to step S14. If allof the gradients are negative (S14, YES), the method proceeds to stepS16. Otherwise (S14, NO), the method proceeds to step S30. Thus, if allof the gradients are positive or all of the gradients are negative,corresponding to an event of interest such as a temperature shock, themethod reaches step S16.

On the other hand, if not all of the gradients have the same sign(positive or negative), an event of interest such as a temperature shockhas not been detected and the baseline-setting factor F_(BS) is set to 1in step S30. When F_(BS) is 1, the overall forgetting factor λ is thesame as the nominal forgetting factor λ_(NOM) so that the baselinetracking equation can operate using an overall forgetting factor λhaving a value chosen for the particular application concerned.

Assuming that an event of interest such as a temperature shock has beendetected, steps S16, S20 and S24 then serve to set the baseline-settingfactor F_(BS) to potentially different values for different ranges of anaverage of the gradients. It will be assumed here that the average ofinterest is an absolute mean of the gradients, although this is just anexample.

If the absolute mean of the gradients is greater than a threshold valueTH3 (S16, YES), the baseline-setting factor F_(BS) is set to a value f4.If the absolute mean of the gradients is greater than a threshold valueTH2 but not greater than the threshold value TH3 (S16, NO, then S20,YES), the baseline-setting factor F_(BS) is set to a value f3. If theabsolute mean of the gradients is greater than a threshold value TH1 butnot greater than the threshold value TH2 (S16, NO, then S20, NO, thenS24, YES), the baseline-setting factor F_(BS) is set to a value f2. Ifthe absolute mean of the gradients is not greater than the thresholdvalue TH1 (S16, NO, then S20, NO, then S24, NO), the baseline-settingfactor F_(BS) is set to a value f1.

Here, as indicated in FIG. 6, it is assumed that the baseline-settingfactor F_(BS) is a value between 0 and 1, and that the values f1 to f4decrease in value in that order over the range 0 to 1. However, it maybe that two of more of f1 to f4 are the same as one another. It is alsoassumed that threshold values TH1 to TH3 increase in that order.

Therefore, for a relatively large absolute mean of the gradients (e.g.greater than TH3) corresponding to a relatively large temperature shock,the baseline-setting factor F_(BS) is set to the relatively low valuef4. This in turn causes the overall forgetting factor λ to be relativelylow (much reduced compared to the nominal forgetting factor λ_(NOM)) sothat the baseline signal tracks its sensor signal quite closely (andfollows high-frequency changes to a high degree).

For a relatively low absolute mean of the gradients (e.g. less than TH1)corresponding to a relatively small temperature shock, thebaseline-setting factor F_(BS) is set to the relatively high value f1.This in turn causes the overall forgetting factor λ to be relativelyhigh. Nevertheless, because f1 is still lower than 1 the overallforgetting factor λ is reduced compared to the nominal forgetting factorλ_(NOM) (but not as much as for F_(BS)=f4). The baseline signal tracksits sensor signal more closely (and follows high-frequency changesbetter) than if the baseline-setting factor F_(BS) is 1, but not nearlyto the extent as for F_(BS)=f4.

As before, if even the basic requirement that all of the gradients havethe same sign (positive or negative) is not met, F_(BS)=1 and theoverall forgetting factor λ is the same as the nominal forgetting factorλ_(NOM).

Incidentally, the baseline unit 200 (or 250) may perform additionalchecks to detect an event of interest such as a temperature shock. Forexample, the baseline unit 200 (or 250) may determine that the gradientsare all above a threshold value (for example, by considering absolutevalues rather than signed values). For example, the baseline unit 200(or 250) may determine that magnitudes of the sensor signals are allabove a threshold value (for example, by considering absolute valuesrather than signed values).

FIGS. 7 and 8 show the same plots of raw sensor signals s1(n) to s7(n)as in FIG. 3, but with corresponding baseline-corrected signals BC-s1(n)to BC-s7(n) generated according to methods 540 (of FIG. 5B) and 600 (ofFIG. 6). Therefore, also shown are plots of the gradients of the rawsensor signals s1(n) to s7(n), and the applied baseline-setting factorF_(BS). The mean of the gradients is also shown. The difference betweenFIGS. 7 and 8 is that for FIG. 7 the values of f1 to f4 are all set to 1(as a comparative example), whereas for FIG. 8 the values of f1 to f4are different from one another (and not equal to 1) so that they aredistributed across the range from 0 to 1.

FIG. 7 accordingly shows the case where the baseline-setting factorF_(BS) does not have any effect so that that the overall forgettingfactor λ is consistently the nominal forgetting factor λ_(NOM). As seenin FIG. 7, the baseline-setting factor F_(BS) remains at the value 1.

Thus, FIG. 7 corresponds to a case where benefits of the presentinvention are not enjoyed—that is, the baseline setting 400 iseffectively not controlled in dependence upon the gradients.

In contrast, FIG. 8 shows the case where benefits of the presentinvention are enjoyed—i.e. the baseline setting 400 is controlled independence upon the gradients. Specifically, upon detecting thetemperature shock in step S12 (when all of the gradients are positive),the method 600 sets the baseline-setting factor F_(BS) to a low value(lower than 0.2, in FIG. 8) so that the low-pass filtering of thebaseline-calculation method (S6 of method 540, with the baselinetracking equation associated with FIG. 6) is adjusted to have asubstantially increased passband. Therefore, the baseline signalsB-s1(n) to B-s7(n), not shown, track the raw sensor signals s1(n) tos7(n) more closely than before, and as such the baseline-correctedsignals BC-s1(n) to BC-s7(n) substantially remain at around the zeroNewtons level, except for a tiny excursion which occurs before thebaseline signals respond to the temperature shock.

Thus, as can be seen from FIG. 8, the method 600 (being animplementation of the method 520) advantageously serves to compensatefor the applied temperature shock.

Incidentally, it will be noted (in relation to the temperature shock)that the gradient signals differ between FIGS. 7 and 8, despite the rawsensor signals s1(n) to s7(n) being the same. This is because, in thedetailed implementation used to generate the signals, the sample rate(used for capturing the raw sensor signals s1(n) to s7(n)) is variedbased on the level of the baseline-corrected signals BC-s1(n) toBC-s7(n), and these latter signals of course differ between FIGS. 7 and8 at the temperature shock.

The gradient signals employed in the methods 520 and 600 may beinstantaneous gradients calculated from the sensor signals concerned, orcould be smoothed gradients for example calculated by low-pass filteringthe instantaneous gradients.

For example, the gradient signals may be generated using a gradienttracking equation of the following form:

gradient(n)=λ_(GRAD)·gradient(n−1)+(1−λ_(GRAD))·[x(n)−x(n−1)]

where n is the sample number, gradient(n) is the smoothed gradientsignal for a given baseline signal (such as B-s1(n)), x(n) is thecorresponding sensor signal (such as s1(n)), and λ_(GRAD) is aforgetting factor. The instantaneous gradient then corresponds tox(n)−x(n−1), and for these purposes the sensor signal x(n) may benormalised before computing the difference so that gradients arecomparable.

Although the baseline setting 400 has been described thus far as if asingle setting is used in common for all sensor signals, in somearrangements values of the baseline setting each comprise componentvalues per force sensor (so that each force sensor is dealt withindividually, even in terms of the forgetting factor applied). In thiscase, for each force sensor, its baseline signal is calculated using thebaseline-calculation method (see step S6) as configured by itscorresponding component value of the currently-stored baseline setting.This enables, for example, those sensor signals which have largergradients to use lower overall forgetting factors A, and, conversely,those sensor signals which have smaller gradients to use higher overallforgetting factors A. That is, the component values of the baselinesetting 400 may be controlled separately, such as based on therespective gradients of the corresponding sensor signals.

Incidentally, methods 520 and 600 have been described in relation tomonitoring gradients of the sensor signals themselves as indicative ofan event of interest such as a temperature shock. Of course, wheretemperature is concerned, a temperature sensor could be provided tooutput a temperature signal indicative of ambient temperature. In thiscase, methods 520 and 600 could be adapted to monitor a gradient of thetemperature signal, and, in dependence upon the gradient, control thestored baseline setting 600 to control how a baseline signal for atleast one of the sensor signals is calculated using thebaseline-calculation method, the baseline-calculation method configuredby the currently-stored baseline setting. Of course, temperature sensorscould be provided at sensor locations, and give per sensor temperatureinformation.

For example, steps S10, S12 and S14 in method 600 could be replaced witha single step which computes the gradient of the temperature signal.Steps S16, S20 and S24 could be adapted to compare the computed gradientrather than an average with the thresholds TH1/TH2/TH3. Further step S30could be removed and f1 could be set to 1 so that below a certaingradient of temperature change F_(BS)=1 and the overall forgettingfactor λ is the same as the nominal forgetting factor λ_(NOM).

The skilled person will recognise that the force sensors referred toherein are an example type of sensor, and that the techniques describedherein may be applied to sensor systems having sensors in general. Assuch, references to a force sensor may be replaced by references to asensor or to an electrical or electronic sensor or to an inputtransducer.

Although the baseline setting has been described in some arrangementsabove as being applied in common across sensor signals, values of thebaseline setting may comprise component values per force sensor. Theabove arrangements will be understood accordingly. For example, thebaseline unit may be configured, for each force sensor, to calculate itsbaseline signal using the baseline-calculation method as configured byits corresponding component value of the currently-stored baselinesetting. That is, the baseline signals may be calculated differentlyfrom one another, i.e. dealt with on a per sensor signal basis.

The skilled person will recognise that some aspects of the abovedescribed apparatus (circuitry) and methods may be embodied as processorcontrol code, for example on a non-volatile carrier medium such as adisk, CD- or DVD-ROM, programmed memory such as read only memory(Firmware), or on a data carrier such as an optical or electrical signalcarrier. For example, the baseline unit 200 or 250 may be implemented asa processor operating based on processor control code. As anotherexample, the controller 110 may be implemented as a processor operatingbased on processor control code.

For some applications, such aspects will be implemented on a DSP(Digital Signal Processor), ASIC (Application Specific IntegratedCircuit) or FPGA (Field Programmable Gate Array). Thus the code maycomprise conventional program code or microcode or, for example, codefor setting up or controlling an ASIC or FPGA. The code may alsocomprise code for dynamically configuring re-configurable apparatus suchas re-programmable logic gate arrays. Similarly, the code may comprisecode for a hardware description language such as Verilog TM or VHDL. Asthe skilled person will appreciate, the code may be distributed betweena plurality of coupled components in communication with one another.Where appropriate, such aspects may also be implemented using coderunning on a field-(re)programmable analogue array or similar device inorder to configure analogue hardware.

Some embodiments of the present invention may be arranged as part of anaudio processing circuit, for instance an audio circuit (such as a codecor the like) which may be provided in a host device as discussed above.A circuit or circuitry according to an embodiment of the presentinvention may be implemented (at least in part) as an integrated circuit(IC), for example on an IC chip. One or more input or output transducers(such as force sensors 130) may be connected to the integrated circuitin use.

It should be noted that the above-mentioned embodiments illustraterather than limit the invention, and that those skilled in the art willbe able to design many alternative embodiments without departing fromthe scope of the appended claims. The word “comprising” does not excludethe presence of elements or steps other than those listed in the claim,“a” or “an” does not exclude a plurality, and a single feature or otherunit may fulfil the functions of several units recited in the claims.Any reference numerals or labels in the claims shall not be construed soas to limit their scope.

As used herein, when two or more elements are referred to as “coupled”to one another, such term indicates that such two or more elements arein electronic communication or mechanical communication, as applicable,whether connected indirectly or directly, with or without interveningelements.

This disclosure encompasses all changes, substitutions, variations,alterations, and modifications to the example embodiments herein that aperson having ordinary skill in the art would comprehend. Similarly,where appropriate, the appended claims encompass all changes,substitutions, variations, alterations, and modifications to the exampleembodiments herein that a person having ordinary skill in the art wouldcomprehend. Moreover, reference in the appended claims to an apparatusor system or a component of an apparatus or system being adapted to,arranged to, capable of, configured to, enabled to, operable to, oroperative to perform a particular function encompasses that apparatus,system, or component, whether or not it or that particular function isactivated, turned on, or unlocked, as long as that apparatus, system, orcomponent is so adapted, arranged, capable, configured, enabled,operable, or operative. Accordingly, modifications, additions, oromissions may be made to the systems, apparatuses, and methods describedherein without departing from the scope of the disclosure. For example,the components of the systems and apparatuses may be integrated orseparated. Moreover, the operations of the systems and apparatusesdisclosed herein may be performed by more, fewer, or other componentsand the methods described may include more, fewer, or other steps.Additionally, steps may be performed in any suitable order. As used inthis document, “each” refers to each member of a set or each member of asubset of a set.

Although exemplary embodiments are illustrated in the figures anddescribed below, the principles of the present disclosure may beimplemented using any number of techniques, whether currently known ornot. The present disclosure should in no way be limited to the exemplaryimplementations and techniques illustrated in the drawings and describedabove.

Unless otherwise specifically noted, articles depicted in the drawingsare not necessarily drawn to scale.

All examples and conditional language recited herein are intended forpedagogical objects to aid the reader in understanding the disclosureand the concepts contributed by the inventor to furthering the art, andare construed as being without limitation to such specifically recitedexamples and conditions. Although embodiments of the present disclosurehave been described in detail, it should be understood that variouschanges, substitutions, and alterations could be made hereto withoutdeparting from the spirit and scope of the disclosure.

Although specific advantages have been enumerated above, variousembodiments may include some, none, or all of the enumerated advantages.Additionally, other technical advantages may become readily apparent toone of ordinary skill in the art after review of the foregoing figuresand description.

To aid the Patent Office (USPTO) and any readers of any patent issued onthis application in interpreting the claims appended hereto, applicantswish to note that they do not intend any of the appended claims or claimelements to invoke 35 U.S.C. § 112(f) unless the words “means for” or“step for” are explicitly used in the particular claim.

1. A baseline unit for use in a sensor system, the sensor systemcomprising N force sensors which output N sensor signals, respectively,where N≥2, the baseline unit configured to: monitor measures ofgradients of the respective sensor signals; and in dependence upon themeasures of the gradients, control a stored baseline setting to controlhow a baseline signal for at least one of said sensor signals iscalculated using a baseline-calculation method, the baseline-calculationmethod configured by the currently-stored baseline setting.
 2. Thebaseline unit as claimed in claim 1, configured to: access the storedbaseline setting; and calculate the baseline signal for said at leastone of said sensor signals using the baseline-calculation method.
 3. Thebaseline unit as claimed in claim 2, configured, for each force sensor,to: calculate a baseline signal from its sensor signal using thebaseline-calculation method; and/or generate a baseline-corrected signalby subtracting its baseline signal from its sensor signal.
 4. Thebaseline unit as claimed in claim 1, configured to: determine that agiven event is underway if it is determined that the measures of thegradients of the sensor signals are all positive or all negative, orindicate that the gradients are all positive or all negative; and if itis determined that the given event is underway, set the stored baselinesetting to a value within a defined range corresponding to the givenevent.
 5. The baseline unit as claimed in claim 4, wherein the givenevent comprises a temperature shock or a substantial change in theambient temperature.
 6. The baseline unit as claimed in claim 4,configured, if it is determined that the given event is underway, to setthe stored baseline setting to a value dependent on a combination ofsome or all of the measures of the gradients, or on a combination ofsome or all of the gradients indicated by the measures.
 7. The baselineunit as claimed in claim 6, wherein the combination comprises: anaverage of some or all of the measures of the gradients or of some orall of the gradients, such as a mean, median or mode; or a sum of someor all of the measures of the gradients or of some or all of thegradients, such as a weighted sum; or an absolute average of some or allof the measures of the gradients or of some or all of the gradients,such as an absolute mean, median or mode; or an absolute sum of some orall of the measures of the gradients or of some or all of the gradients,such as an absolute weighted sum.
 8. The baseline unit as claimed inclaim 6, configured, if it is determined that the given event isunderway, to set the stored baseline setting based on a definedrelationship such as a monotonic relationship between values of thebaseline setting and values of the combination.
 9. The baseline unit asclaimed in claim 6, configured, if it is determined that the given eventis underway, to set the stored baseline setting to a different value fordifferent ranges of values of the combination.
 10. The baseline unit asclaimed in claim 9, wherein there is a monotonic relationship betweenthe ranges of values and the corresponding values to which the baselinesetting is set.
 11. The baseline unit as claimed in claim 1, wherein:values of the baseline setting each comprise component values per forcesensor; and for each force sensor, its baseline signal is calculatedusing the baseline-calculation method as configured by its correspondingcomponent value of the currently-stored baseline setting.
 12. Thebaseline unit as claimed in claim 11, configured to control thecomponent values of the baseline setting separately, such as based onthe respective measures of the gradients of the corresponding sensorsignals.
 13. The baseline unit as claimed in claim 1, wherein: thebaseline-calculation method comprises low-pass filtering defined by afilter parameter; and the baseline setting defines a value of the filterparameter.
 14. The baseline unit as claimed in claim 13, wherein thefilter parameter comprises a time constant, a forgetting factor and/or acorner frequency which defines the low-pass filtering, optionally apassband of the low-pass filtering.
 15. The baseline unit as claimed inclaim 13, wherein the control of the stored baseline setting independence upon the measures of the gradients comprises controlling thebaseline setting to increase the size of a passband of the low-passfiltering.
 16. The classifier as claimed in claim 1, wherein: N≥3, orN≥4, or N≥8; and/or each sensor signal is indicative of an appliedforce; and/or the force sensors of the sensor system are arranged todetect an applied force corresponding to a press of at least one virtualbutton.
 17. The baseline unit as claimed in claim 1, configured to storethe baseline setting.
 18. The baseline unit as claimed in claim 1,wherein the monitored measures of the gradients are smoothed measures ofthe gradients obtained by smoothing corresponding instantaneous measuresof the gradients of the respective sensor signals, optionally whereinthe baseline unit is configured to calculate the smoothed measures ofthe gradients from the corresponding instantaneous measures of thegradients, optionally by low-pass filtering.
 19. A baseline unit for usein a sensor system, the sensor system comprising N force sensors whichoutput N sensor signals, respectively, where N≥1, and a temperaturesensor which outputs a temperature signal indicative of ambienttemperature, the baseline unit configured to: monitor a measure of agradient of the temperature signal; and in dependence upon the measureof the gradient, control a stored baseline setting to control how abaseline signal for at least one of said sensor signals is calculatedusing a baseline-calculation method, the baseline-calculation methodconfigured by the currently-stored baseline setting. 20.-21. (canceled)22. A sensor system or a host device, comprising: the baseline unit asclaimed in claim 1; and the N force sensors.